import {request} from "../request";

/**
 * 用户登录
 * @param formdata
 * @returns {返回Promise实例}
 */
export function login(formdata) {
  return request({
    url: 'user/login',
    method: 'post',
    data: formdata
  });
}

/**
 * 根据query进行分页条件查询
 * @param query
 * @returns {返回Promise实例}
 */
export function getUserByPage(query) {
  let {keyword, currentPage, pageSize} = query;
  return request({
    url: 'user/getUserByPage',
    method: 'get',
    params: {
      keyword, currentPage, pageSize
    }
  });
}

/**
 * 重置密码
 * @param formdata
 * @returns {返回Promise实例}
 */
export function resetPassword(formdata) {
  return request({
    url: 'user/resetPassword',
    method: 'post',
    data: formdata
  })
}

/**
 * 分配角色
 * @param formdata 对应的信息
 * @returns {返回Promise实例}
 */
export function assignRole(formdata) {
  return request({
    url: '/user/assignRole',
    method: 'post',
    data: formdata
  })
}

/**
 * 新增用户
 * @param formdata 用户信息
 * @returns {返回Promise实例}
 */
export function insertUser(formdata) {
  return request({
    url: '/user/insertUser',
    method: 'post',
    data: formdata
  });
}

/**
 * 更新用户
 * @param formdata 用户信息
 * @returns {返回Promise实例}
 */
export function updateUser(formdata) {
  return request({
    url: '/user/updateUser',
    method: 'post',
    data: formdata
  });
}

/**
 * 改变用户的启用状态
 * @param id 用户id
 * @param usable 1为启用，0为禁用
 * @returns {返回Promise实例}
 */
export function changeUsable(id, usable) {
  return request({
    url: '/user/changeUsable',
    params: {
      id, usable
    }
  })
}

/**
 * 根据ids批量删除用户信息
 * @param ids
 * @returns {返回Promise实例}
 */
export function deleteByIds(ids) {
  return request({
    url: '/user/deleteByIds',
    params: {
      ids
    }
  })
}

/**
 * 获取登录用户的信息
 * @returns {返回Promise实例}
 */
export function getUserInfo() {
  return request({
    url: '/user/profile'
  })
}

/**
 * 修改密码
 * @param formdata 修改密码对应的信息
 */
export function changePassword(formdata) {
  return request({
    url: '/user/changePassword',
    method: 'post',
    data: formdata
  })
}